# py1注册：
#             1、输入账号、密码和确认密码
#             2、账号不能重复，已经存在的账号要提示它
#             3、两次输入的密码要一致
#             4、账号长度6-12，密码长度8-12，密码必须包含大小写字母、数字
#             5、最多输入3次
#             6、注册成功写到文件里面
#思路：

# 1、输入账号
# 2、输入密码和输入确认密码
# 3、最多循环3次
# 4、校验账号是否符合长度6-12，校验账号是否重复
# 5、校验两次密码是否一次
# 6、校验密码长度8-12，密码必须包含大小写字母、数字
# 7、校验通过后，把账号密码写入文件




#注册

import string
s={}
fw=open("account.txt","r")
fw.seek(0)
for line in fw:
    name_fw=line.strip().split(":")[0]
    passwd_fw=line.strip().split(":")[1]
    s[name_fw]=passwd_fw
    print(s)
fw.close()

def check_password(passwd):
    return set(passwd)&set(string.ascii_uppercase) and set(passwd)&set(string.ascii_lowercase)\
           and set(passwd)&set(string.digits) and len(passwd)<=12 and len(passwd)>=8

count=0
while count<3:
    name=input("请输入注册账号:").strip()
    count+=1
    print(count)
    if len(name)>12  or len(name)<6:
        print("请输入6-12位账号")
        continue
    elif name in s.keys():
        print("账号重复")
        continue
    else:
        password=input("请输入注册密码:").strip()
        password_sure=input("请再次确认注册密码:").strip()
        if check_password(password) and password==password_sure:
            fw=open("account.txt",'a+')
            fw.write(name+":"+password+"\n")
            fw.close()
            print("注册成功")
            break
        elif password!=password_sure:
            print("两次密码不一致")
            continue
        else:
            print("密码长度8-12，密码必须包含大小写字母、数字")
            continue









